Termination w.r.t. Q of the following Term Rewriting System could be proven:

Q restricted rewrite system:
The TRS R consists of the following rules:

del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))

Q is empty.


QTRS
  ↳ Overlay + Local Confluence

Q restricted rewrite system:
The TRS R consists of the following rules:

del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))

Q is empty.

The TRS is overlay and locally confluent. By [15] we can switch to innermost.

↳ QTRS
  ↳ Overlay + Local Confluence
QTRS
      ↳ DependencyPairsProof

Q restricted rewrite system:
The TRS R consists of the following rules:

del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))

The set Q consists of the following terms:

del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))


Using Dependency Pairs [1,13] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:

F(false, x, y, z) → DEL(.(y, z))
=1(.(x, y), .(u, v)) → =1(x, u)
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
DEL(.(x, .(y, z))) → =1(x, y)
=1(.(x, y), .(u, v)) → =1(y, v)

The TRS R consists of the following rules:

del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))

The set Q consists of the following terms:

del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))

We have to consider all minimal (P,Q,R)-chains.

↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
QDP
          ↳ EdgeDeletionProof

Q DP problem:
The TRS P consists of the following rules:

F(false, x, y, z) → DEL(.(y, z))
=1(.(x, y), .(u, v)) → =1(x, u)
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
DEL(.(x, .(y, z))) → =1(x, y)
=1(.(x, y), .(u, v)) → =1(y, v)

The TRS R consists of the following rules:

del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))

The set Q consists of the following terms:

del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))

We have to consider all minimal (P,Q,R)-chains.
We deleted some edges using various graph approximations

↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ EdgeDeletionProof
QDP
              ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

F(false, x, y, z) → DEL(.(y, z))
=1(.(x, y), .(u, v)) → =1(x, u)
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
DEL(.(x, .(y, z))) → =1(x, y)
=1(.(x, y), .(u, v)) → =1(y, v)

The TRS R consists of the following rules:

del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))

The set Q consists of the following terms:

del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [13,14,18] contains 1 SCC with 3 less nodes.

↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ EdgeDeletionProof
            ↳ QDP
              ↳ DependencyGraphProof
QDP
                  ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

F(false, x, y, z) → DEL(.(y, z))
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)

The TRS R consists of the following rules:

del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))

The set Q consists of the following terms:

del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))

We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [13].


The following pairs can be oriented strictly and are deleted.


DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
The remaining pairs can at least be oriented weakly.

F(false, x, y, z) → DEL(.(y, z))
F(true, x, y, z) → DEL(.(y, z))
Used ordering: Combined order from the following AFS and order.
F(x1, x2, x3, x4)  =  F(x4)
false  =  false
DEL(x1)  =  x1
.(x1, x2)  =  .(x2)
true  =  true
=(x1, x2)  =  =(x1, x2)
nil  =  nil
u  =  u
v  =  v
and(x1, x2)  =  x2

Recursive path order with status [2].
Quasi-Precedence:
[F1, .1, true, =2, nil] > false
[F1, .1, true, =2, nil] > v > u

Status:
true: multiset
v: multiset
u: multiset
.1: multiset
false: multiset
=2: multiset
nil: multiset
F1: multiset


The following usable rules [14] were oriented: none



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ EdgeDeletionProof
            ↳ QDP
              ↳ DependencyGraphProof
                ↳ QDP
                  ↳ QDPOrderProof
QDP
                      ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

F(false, x, y, z) → DEL(.(y, z))
F(true, x, y, z) → DEL(.(y, z))

The TRS R consists of the following rules:

del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))

The set Q consists of the following terms:

del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [13,14,18] contains 0 SCCs with 2 less nodes.